package com.abel.bigwater.dataserver.model.qdies

import com.abel.bigwater.dataserver.model.PacketCmdException
import io.netty.buffer.ByteBuf

/**
 * 设置通信IP地址及端口号
上位机发送： 帧头 地址 0x06 0x06 IP地址4个字节 端口号2个
字节 校验 帧尾
D10应答： 帧头 地址 0x06 0x00 校验 帧尾
 */
open class DtenSetIpPortData(_len: Int) : D10BaseData(_len) {
    override var type = FuncType.SetIpPort

    override fun fill(buf: ByteBuf) {
        buf.writeByte(0)
    }

    override fun parse(buf: ByteBuf): Boolean {
        if (buf.readableBytes() < 1) {
            throw PacketCmdException("should contain 0x00")
        }
        val b1 = buf.readUnsignedByte()
        if (b1 != 0.toShort()) {
            throw PacketCmdException("should contain 0x00")
        }

        return true
    }

    override fun count(): Int = 1
}